package dxf.entities;


import dxf.DXFPoint;
import dxf.annotations.DXFPointProperty;
import dxf.annotations.DXFProperty;

/**
 * Un oggetto della classe <code>Line</code> definisce una Entity Line di un disegno DXF
 * 
 * @author Andrea Zonca
 * @author Michele Brignoli
 * @version 3.0
 */
public class Line extends Entity {
	@DXFProperty(100)
	private String entityMarker = "AcDbLine";

	@DXFProperty(39)
	private Integer thickness;

	@DXFPointProperty(xCode = 10, yCode = 20, zCode = 30)
	private DXFPoint start;
	@DXFPointProperty(xCode = 11, yCode = 21, zCode = 31)
	private DXFPoint end;
	
	/**
	 * Crea un'istanza di Line.
	 * 
	 * @param p0 il punto di partenza della linea
	 * @param p1 il punto finale della linea
	 */
	public Line(DXFPoint p0, DXFPoint p1) {
		this.start = p0;
		this.end = p1;
	}

	public String getEntityMarker() {
		return entityMarker;
	}

	/**
	 * restituisce lo spessore della linea
	 * @return lo spessore della linea
	 */
	public Integer getThickness() {
		return thickness;
	}

	/**
	 * Imposta lo spessore della linea
	 * @param thickness lo spessore della linea
	 */
	public void setThickness(Integer thickness) {
		this.thickness = thickness;
	}

	/**
	 * Restituisce il punto iniziale della linea
	 * @return il punto iniziale della linea
	 */
	public DXFPoint getStart() {
		return start;
	}

	/**
	 * Restituisce il punto finale della linea
	 * @return il punto finale della linea
	 */
	public DXFPoint getEnd() {
		return end;
	}

}
